package com.Practice.estore1;
import java.util.*;
public class ProductService {
    private final Map<String, Product> productData;

    public ProductService() {
        productData = new HashMap<>();
        initDefaultData();
    }

    private void initDefaultData() {
        // 为商品添加标签
        Set<String> javaBookTags = new HashSet<>();
        javaBookTags.add("编程");
        javaBookTags.add("畅销");

        javaBookTags.add("热门"); // 重复添加热门标签，但Set会自动去重

        Set<String> pythonBookTags = new HashSet<>();
        pythonBookTags.add("编程");
        pythonBookTags.add("入门");
        pythonBookTags.add("新手推荐");

        // 创建带标签的商品
        productData.put("p001", new Product("p001", "Java核心技术", 99.0, 100, javaBookTags));
        productData.put("p002", new Product("p002", "Python编程入门", 79.0, 150, pythonBookTags));

        // 不带标签的商品
        productData.put("p003", new Product("p003", "数据结构与算法", 89.0, 80));
        productData.put("p004", new Product("p004", "数据库系统概念", 109.0, 60));

        // 验证 Set 的唯一性
        System.out.println("Java书籍标签数量: " + javaBookTags.size()); // 应该是3，不是4
        System.out.println("Java书籍标签: " + javaBookTags);
    }

    public List<Product> getAllProducts() {
        return new ArrayList<>(productData.values());
    }

}